﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using Ext.Net;

using AppGISENA.ObjetosNegocio;
using AppGISENA.UIServicios;

namespace AppGisena.Presentacion.Up
{
    public partial class RegistrarProduccion : System.Web.UI.Page
    {

        UnidadProductivaServicios myservicios = new UnidadProductivaServicios(); 
        protected void Page_Load(object sender, EventArgs e)
        {
            Ventana_Produccion.Hide();
        }


        /// <summary>
        /// Registrar produccion por cada producto seleccionado
        /// </summary>
        /// <param name="codproductoofertado"></param>
        [DirectMethod]
        public void RegistrarProdProducto(long codproductoofertado)
        {
            try
            {
                Ventana_Produccion.Show();
                //myservicios.DeleteProductoOfertado(codproductoofertado);
                X.Msg.Notify("GISENA", "Llene todos los campos " + codproductoofertado).Show();
                Id_ProdOfert.Text = codproductoofertado.ToString();
                Str_Tp_Certificacion.DataSource = myservicios.getListTipoCertifica();
                Str_Tp_Certificacion.DataBind();
                Str_Unidad_Medidas.DataSource = myservicios.getListUnidadMedida();
                Str_Unidad_Medidas.DataBind();
                
                //listarGridProductoOfertado(int.Parse(Txt_Cod_Up.Text));
            }

            catch (Exception ex)
            {
                X.Msg.Alert("GISENA", "Revise conexion" + ex).Show();

                //falla en la conectividad, o sistema no disponible
            }
        }

        protected void Btn_BuscarUPGISENA_Click(object sender, DirectEventArgs e)
        {

            if (Txt_Cod_Up.Text != null)
            {
                try
                {
                    //buscar si la UP esta registrada en GISENA



                    var sofia = myservicios.getUPSofiaById((int.Parse)(Txt_Cod_Up.Text));

                    if (sofia == null)
                    {
                        X.Msg.Notify("GISENA", "No se encuentra la Unidad Productiva, por favor registrela").Show();


                    }
                    else
                    {
                        Txt_Cod_Cent_Form2.Text = sofia.Cod_Cent_Form.ToString();
                        Txt_NFicha_UP2.Text = sofia.NFicha_UP;
                        Txt_Nomb_UP2.Text = sofia.Nomb_UP;
                        Str_ProductosUp.DataSource = myservicios.listarGridProductoOfertado(int.Parse(Txt_Cod_Up.Text));
                        Str_ProductosUp.DataBind();
                       

                    }




                }
                catch(Exception ex)
                {
                    X.Msg.Alert("GISENA", "Revise conexion" + ex).Show();

                    //falla en la conectividad, o sistema no disponible
                }
            }
            else
            {
                X.Msg.Alert("GISENA", "Digite el codigo de la Unidad Productiva").Show();

            }
        }











        protected void Btn_Registrar_Produccion_Click(object sender, DirectEventArgs e)
        {

    //        DateTime compareTo = DateTime.Parse("8/13/2010 8:33:21 AM");
    //DateTime now = DateTime.Parse("2/9/2012 10:10:11 AM");
    //var dateSpan = DateTime.DaysInMonth( (compareTo, now);


            try
            {

                ProduccionBo myproduccion = new ProduccionBo
                {

                     Anio=int.Parse(Txt_Anio_Cert.Text),
                     Costo_Prod_Mens=int.Parse(Txt_Costo_Produccion.Text),
                     Entidad_Cert=Txt_Entidad_Certifica.Text,
                     Fecha_Fin= DateTime.Parse(Dt_Fecha_Fin.Text),
                     Fecha_Inic=DateTime.Parse(Dt_Fecha_Inicio.Text),
                     Fecha_Vig_Cert=DateTime.Parse(Dt_Vigencia.Text),
                     Id_Prod_Ofert  = long.Parse(Id_ProdOfert.Text),
                     Id_Tp_Cert=long.Parse( Slb_Tp_Certificacion.SelectedItem.Value),
                     Id_Unidad_Med = long.Parse(Slb_Unidad_Medida.SelectedItem.Value),
                     Num_Reg_Cert =Txt_Num_Cert.Text,
                     Precio_Base=decimal.Parse( Txt_Precio_Base.Text),
                     Produccion_Mens =decimal.Parse(Txt_Produccion_Mens.Text),
                     Tiempo_Req =int.Parse( (Dt_Fecha_Fin.SelectedDate.Date.Subtract(Dt_Fecha_Inicio.SelectedDate.Date).Days /365.25 / 12).ToString()),
                      
               

                };



                X.Msg.Alert("GISENA", "Produccion ingresada correctamente").Show();


            }
            catch (Exception ex)
            {
                X.Msg.Alert("GISENA", "Revise conexion" + ex).Show();

                //falla en la conectividad, o sistema no disponible
            }


        }






        protected void Btn_GuardarGeoreferenciacion_Click(object sender, DirectEventArgs e)
        {

            try
            {
                X.Msg.Alert("GISENA", "XXXXXX").Show();


            }
            catch
            {

                //falla en la conectividad, o sistema no disponible
            }


        }




        protected void Btn_Eliminar_Produccion_Click(object sender, DirectEventArgs e)
        {

            try
            {
                X.Msg.Alert("GISENA", "Eliminar Produccion").Show();


            }
            catch
            {

                //falla en la conectividad, o sistema no disponible
            }


        }












    }
}